The present invention relates to clustered file systems, and, more particularly, this invention relates to the integration of external services into a clustered file system.
Clustered file systems provide a powerful homogenous view and access to diverse sources of storage. However, a major drawback to these systems is that the easiest and most direct method for a user to access the file system data is from a node that is a direct member of the file system cluster. To relax this constraint, services have been implemented on top of clustered file systems that export or externalize the clustered file system data. Examples of such services include Network File System (NFS), Server Message Block (SMB), and OpenStack, each of which may export the clustered file system. Users may then access the data from any computer system implementing these ubiquitous protocols.
For reasons associated with availability and performance, it may be desirable for these external services to run simultaneously on all nodes of the clustered file system. Further, these external services, in large part, may be implemented independent of the clustered file system. Consequently, the external services may have their own view of the cluster. This view may include which nodes are up, which nodes are down, and a state of the clustered file system. In some circumstances, an external service's view of the cluster may not be consistent with reality.
Additionally, in order to bring a cluster node up, an administrator may need to initiate multiple software layers. For example, the administrator may need to initiate the clustered file system, and each external service. Still yet, to bring the cluster node down, the administrator may also need to manipulate multiple software layers. This is a cumbersome process, and may result in problems on the cluster.